home *** CD-ROM | disk | FTP | other *** search
/ Nebula 1 / Nebula One.iso / Educational / Sphere / Source / SphereControl.m < prev    next >
Encoding:
Text File  |  1995-06-12  |  3.2 KB  |  231 lines

  1.  
  2. /* Generated by Interface Builder */
  3.  
  4. #import "SphereControl.h"
  5. #import "SphereDrawerObject.h"
  6. #import <appkit/appkit.h>
  7.  
  8. @implementation SphereControl
  9.  
  10.  
  11. - init
  12. {
  13.     [super init];
  14.     radius=100;
  15.     theta=0;
  16.     phi=0;
  17.     lat=10;
  18.     longi=10;
  19.     hideFlag=FALSE;
  20.     shadeFlag=FALSE;
  21.     autoDraw=FALSE;
  22.     return self;
  23. }
  24.  
  25.  
  26. - getRadiusSlider:sender
  27. {
  28.     [self writeRadius:[sender intValue]];
  29.     [radiusTextDisplayPtr setIntValue:[self readRadius]];
  30.     if (autoDraw==TRUE) [self messageSphereDrawer: self];
  31.     return self;
  32. }
  33.  
  34. - getThetaSlider:sender
  35. {
  36.     [self writeTheta:[sender intValue]];
  37.     [thetaTextDisplayPtr setIntValue:[self readTheta]];
  38.     if (autoDraw==TRUE) [self messageSphereDrawer: self];
  39.     return self;
  40. }
  41. - getPhiSlider:sender
  42. {
  43.     [self writePhi:[sender intValue]];
  44.     [phiTextDisplayPtr setIntValue: [self readPhi]];
  45.     if (autoDraw==TRUE) [self messageSphereDrawer: self];
  46.     return self;
  47. }
  48.  
  49. - getLatSlider:sender
  50. {
  51.     [self writeLat:[sender intValue]];
  52.     [latTextDisplayPtr setIntValue: [self readLat]];
  53.     if (autoDraw==TRUE) [self messageSphereDrawer: self];
  54.     return self;
  55. }
  56.  
  57. - getLongSlider:sender
  58. {
  59.     [self writeLong:[sender intValue]];
  60.     [longTextDisplayPtr setIntValue: [self readLong]];
  61.     if (autoDraw==TRUE) [self messageSphereDrawer: self];
  62.     return self;
  63. }
  64.  
  65. - (int) readRadius
  66. {
  67.     return radius;
  68. }
  69.  
  70. - (int) readTheta
  71. {
  72.     return theta;
  73. }
  74.  
  75. - (int) readPhi
  76. {
  77.     return phi;
  78. }
  79.  
  80. - (int) readLat
  81. {
  82.     return lat;
  83. }
  84.  
  85. - (int) readLong
  86. {
  87.     return longi;
  88. }
  89.  
  90. - (BOOL) readShadeFlag
  91. {
  92.     return shadeFlag;
  93. }
  94.  
  95. - (BOOL) readHideFlag
  96. {
  97.     return hideFlag;
  98. }
  99.  
  100. - (BOOL) readAutoDraw
  101. {
  102.     return autoDraw;
  103. }
  104.  
  105. - writeRadius:(int) val;
  106. {
  107.     radius=val;
  108.     return self;
  109. }
  110.  
  111. - writeTheta:(int) val;
  112. {
  113.     theta=val;
  114.     return self;
  115. }
  116.  
  117. - writePhi:(int) val;
  118. {
  119.     phi=val;
  120.     return self;
  121. }
  122.  
  123. - writeLat:(int) val;
  124. {
  125.     lat=val;
  126.     return self;
  127. }
  128.  
  129. - writeLong:(int) val;
  130. {
  131.     longi=val;
  132.     return self;
  133. }
  134.  
  135. - writeHideFlag:(BOOL) val
  136. {
  137.     hideFlag=val;
  138.     return self;
  139. }
  140.  
  141. - writeShadeFlag:(BOOL) val
  142. {
  143.     shadeFlag=val;
  144.     return self;
  145. }
  146.  
  147. - writeAutoDraw:(BOOL) val
  148. {
  149.     autoDraw=val;
  150.     return self;
  151. }
  152.  
  153. - messageSphereDrawer: sender
  154. {
  155.     [sphereViewPtr display];
  156.     return self;
  157. }
  158.  
  159. - clickHideBox: sender
  160. {
  161.     if (hideFlag==FALSE) [self writeHideFlag:TRUE];
  162.     else
  163.     {
  164.         [self writeHideFlag:FALSE];
  165.         if (shadeFlag==TRUE)
  166.         {
  167.             [self writeShadeFlag: FALSE];
  168.             [shadeBoxPtr setState:FALSE];
  169.         }
  170.     }
  171.     if (autoDraw==TRUE) [self messageSphereDrawer: self];
  172.     return self;
  173. }
  174.  
  175. - clickShadeBox: sender
  176. {
  177.     if (shadeFlag==FALSE)
  178.     {
  179.         [self writeShadeFlag:TRUE];
  180.         if (hideFlag==FALSE)
  181.         {
  182.             [self writeHideFlag:TRUE];
  183.             [hideBoxPtr setState:TRUE];
  184.         }
  185.     }
  186.     else [self writeShadeFlag:FALSE];
  187.     if (autoDraw==TRUE) [self messageSphereDrawer: self];
  188.     return self;
  189. }
  190.  
  191. - autoRender: sender
  192. {
  193.     if (autoDraw==FALSE)
  194.     {
  195.         autoDraw=TRUE;
  196.         [autoRenderPtr setTitleNoCopy: "Deactivate Auto-render"];
  197.     }
  198.     else
  199.     {
  200.         autoDraw=FALSE;
  201.         [autoRenderPtr setTitleNoCopy: "Activate Auto-render"];
  202.     }
  203.     if (autoDraw==TRUE) [self messageSphereDrawer: self];
  204.     return self;
  205. }
  206.  
  207. - loadInfoNib:sender
  208. {
  209.     if (infoPanel == nil)
  210.     {
  211.         [NXApp loadNibSection:"InfoPanel.nib" owner:self];
  212.     }
  213.     [infoPanel makeKeyAndOrderFront:self];    
  214.     return self;
  215. }
  216.  
  217. - loadHelpNib:sender
  218. {
  219.  
  220.     if (helpPanel == nil)
  221.     {
  222.         [NXApp loadNibSection:"HelpPanel.nib" owner:self];
  223.     }
  224.     [helpPanel makeKeyAndOrderFront:self];    
  225.  
  226.     return self;
  227. }
  228.  
  229. @end
  230.  
  231.